sctp: fix the processing for INIT chunk
authorXin Long <lucien.xin@gmail.com>
Wed, 20 Oct 2021 11:42:42 +0000 (07:42 -0400)
committerSalvatore Bonaccorso <carnil@debian.org>
Thu, 17 Mar 2022 15:40:47 +0000 (15:40 +0000)
commit2997d017d18e6200d27e7e548028453dbf3201d5
tree7828647de2979849fca0f6f5e8527fdce5eb0439
parentb9a00603486c33a1e0e2d65c14689a236c80c212
sctp: fix the processing for INIT chunk

commit eae5783908042a762c24e1bd11876edb91d314b1 upstream.

This patch fixes the problems below:

1. In non-shutdown_ack_sent states: in sctp_sf_do_5_1B_init() and
   sctp_sf_do_5_2_2_dupinit():

  chunk length check should be done before any checks that may cause
  to send abort, as making packet for abort will access the init_tag
  from init_hdr in sctp_ootb_pkt_new().

2. In shutdown_ack_sent state: in sctp_sf_do_9_2_reshutack():

  The same checks as does in sctp_sf_do_5_2_2_dupinit() is needed
  for sctp_sf_do_9_2_reshutack().

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Gbp-Pq: Topic bugfix/all
Gbp-Pq: Name sctp-fix-the-processing-for-init-chunk.patch
net/sctp/sm_statefuns.c